package com.annotion;

import org.junit.Test;

public class AnnotationTest {

    @Test
    public void annotationTest() {
        Person person = new Student();
        person.computerGames("张三");
        @SuppressWarnings("unused")
        Person person1 = new Person("李四");
    }
}


class Person {
    String name;
    int age;

    public Person() {
    }

    //- 用于表示被标记的数据已经过时，不推荐使用。
    //- 可以用于修饰 属性、方法、构造、类、包、局部变量、参数。
    //- 它会被编译器程序读取。
    @Deprecated
    public Person(@SuppressWarnings("unused") String name) {
        this.name = name;
    }

    @MyAnnotation(value = "fjjfjf")
    public void computerGames(String name) {
        System.out.println(name + "正在打游戏");
    }

    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }


}

@Deprecated
class Student extends Person {
    //- 用于检测被标记的方法为有效的重写方法，
    // 如果不是，则报编译错误！
    //- 只能标记在方法上。
    //- 它会被编译器程序读取。
    @Override
    public void computerGames(String name) {
        System.out.println(name + "我很忙正在打英雄联盟");
    }
}
